# ifndef __HoluxTrk_H_
# define __HoluxTrk_H_

# ifdef _MSC_VER
#	pragma pack (push, 1)
# endif

const DWORD c_dwTrkSignature = 0x38CB12A2;

const size_t c_cTrkMaxTracks = 4;
const size_t c_cTrkMaxPoints = 2500;

struct CTrkTrack {
	WORD wPoints;
	WORD wNextPoint;
	char strName [12];
	char strComment [13];

	BYTE btUnknown [3];

	DWORD dwOccupied;
	DWORD dwShow;
	DWORD dwFill;
};

struct CTrkHdr {
	DWORD dwSignature;

	WORD  wPointsInCurrentLog;
	WORD  wTracks;

	DWORD dwDate;
	DWORD dwTime;

	CTrkTrack tracks [c_cTrkMaxTracks];
};

struct CTrkPoint {
	LONG lX, lY;
};

struct CTrkUnknown {
	DWORD dw0;
	DWORD dw1;
	DWORD dw2;
};

struct CTrkTrackLog {
	CTrkPoint points [c_cTrkMaxPoints];
	CTrkUnknown unknown [40];
};

struct CTrkFile {
	CTrkHdr      hdr;
	CTrkTrackLog logs [c_cTrkMaxTracks];
};

# ifdef _MSC_VER
#	pragma pack (pop)
# endif

# endif // __HoluxTrk_H_